# Определение типов

Как и в других статически типизированных языках программирования, в Scala тип можно объявить при создании новой переменной:

```dotty
val x: Int = 1
val y: Double = 1
```

В этих примерах типы явно объявлены как `Int` и `Double` соответственно. 
Однако в Scala обычно не нужно объявлять тип при объявлении переменной:

```dotty
val a = 1
// a: Int = 1
val b = List(1, 2, 3)
// b: List[Int] = List(1, 2, 3)
val m = Map(1 -> "one", 2 -> "two")
// m: Map[Int, String] = Map(1 -> "one", 2 -> "two")
```

Scala сама выводит типы, как показано выше.

Действительно, большинство переменных определяются без указания типа, 
и способность Scala автоматически определять его — 
это одна из особенностей, которая делает Scala похожим на язык с динамической типизацией.


---

**Ссылки:**

- [Scala3 book](https://docs.scala-lang.org/scala3/book/types-inferred.html)
